class Hero():
    def __init__(self, name):
        self.name = name

    def move(self):
        print("英雄移动到指定地点。。。。")

    def show_info(self):
        print("英雄的名字是：{}".format(self.name))

class SheShou(Hero):

    def move(self):
        print("英雄通过技能加持移动速度，快速到达指定地点。。。")

class Person():

    def move(self):
        print("人类会使用两条腿走路。。。")

class Cat():
    def __init__(self, name):
        self.name = name

def func(obj):
    print("调用对象的move方法")
    obj.move()


huahua = Cat("花花")
Hero.show_info(huahua)
# Hero.move(huahua)  # huahua是cat类实例化的对象
#                     # cat类里面没有func方法，也不属于，也不继承于Hero类
#                     # Hero.move()传入huahua这个对象

# gailun = Hero()   # 由英雄类实例化的对象，盖伦
# hanbing = SheShou()  # 由射手类实例化的对象，寒冰
# xiaogang = Person()   # 由person类实例化的对象，小刚
#
# func(xiaogang)   # func方法传入不同对象，实现了不同的业务逻辑
